Packet communications have evolved to a point where voice sessions, or calls, can be supported with essentially the same quality of service as that provided by circuit-switched communications. Packet communications are generally supported over packet subsystems, which were initially supported by local area networks, but are now supported by wireless local area networks (WLANs). Using WLAN access, user elements can support voice sessions using packet communications while moving throughout the WLAN. As such, WLAN access provides users the same freedom of movement within a WLAN as cellular access provides users within a cellular environment.
In many instances, the coverage areas provided by WLANs and cellular networks are complementary. For example, a WLAN may be established within a building complex in which cellular coverage is limited. Given the localized nature of WLAN coverage, cellular networks could bridge the coverage gaps between WLANs. Unfortunately, WLAN access technology is independent of cellular access technology. Cellular networks generally support circuit-switched communications, and WLANs support packet communications. As such, user elements have been developed to support both cellular and WLAN communications using different communication interfaces. With these user elements, users can establish calls via the cellular network and WLAN using the respective communication interfaces. Further, active calls can be transferred back and forth between the cellular network and WLAN.
Call control for calls established through WLANs may be supported by a multimedia subsystem (MS). A MS is generally capable of providing greater multimedia capabilities than a circuit-switched subsystem (CS) of the cellular network. As such, there is movement to provide call control in the MS for calls established over both the CS and MS. Unfortunately, always anchoring call signaling for CS or MS calls in the MS leads to routing inefficiencies and complications. For example, when a CS supporting a user element is a long distance from the MS to which calls are anchored, all calls for the user element must be diverted a long distance through the MS before reaching the remote party. In certain instances, the remote party could be located in the same CS as the user element or in a CS that is a long distance from both the MS and the CS in which the user element is located.
Accordingly, there is a need to dynamically control when calls for a user element are anchored in an MS and when the calls for the user element are directly routed toward a destination without being anchored in the MS.